Quantum communication device, quantum communication method, and computer program product

ABSTRACT

According to an embodiment, a quantum communication device includes a sift processor, an estimator, a determination unit, and a corrector. The sift processor is configured to acquire sift processing data by referring to a cryptographic key bit string in a predetermined bit string with a reference basis randomly selected from a plurality of bases via a quantum communication channel. The estimator is configured to acquire an estimated error rate of the sift processing data. The determination unit is configured to determine order of the sift processing data in which an error is to be corrected based on the estimated error rate and difference data between a processing speed of error correcting processing and a processing speed of privacy amplification processing. The corrector is configured to acquire one piece of the sift processing data in the order determined by the determination unit, and generate error correcting processing data.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority fromJapanese Patent Application No. 2014-001943, filed on Jan. 8, 2014; theentire contents of which are incorporated herein by reference.

FIELD

Embodiments described herein relate generally to a quantum communicationdevice, a quantum communication method, and a computer program product.

BACKGROUND

Development of information and communication technology leads to anexchange of various types of data, and it is becoming a big problem howto ensure privacy (safety) of the data to be transmitted. Cryptographscurrently used for ensuring privacy of data, such as RSA, base safety oncryptanalysis time by a computer based on computational complexity.However, further improvement in computational ability of a computer mayallow easy cryptanalysis of RSA or the like.

In contrast, a quantum key distribution (QKD) system for achieving dataprivacy based on a physical law of light is known. The quantum keydistribution system (quantum cryptographic communication system) is asystem capable of detecting eavesdropping on a communication channel byhandling a quantum state of light as data representing zero or one. Thequantum key distribution system is expected as a cryptographic methodfor achieving information-theoretical safety that does not base safetyon cryptanalysis time by a computer.

Generally in a quantum communication device used for a quantum keydistribution system, error correcting (EC) processing and privacyamplification (PA) processing are performed.

However, conventional techniques do not take into consideration adifference in processing speeds between the error correcting processingand the privacy amplification processing, and thus cryptographic keydata cannot be generated efficiently.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating an example of a configuration of aquantum communication device according to a first embodiment;

FIG. 2 is a diagram illustrating an example of throughput of errorcorrecting processing according to the first embodiment;

FIG. 3 is a diagram illustrating an example of processing time ofprivacy amplification processing according to the first embodiment;

FIG. 4 is a diagram illustrating an example of the privacy amplificationprocessing according to the first embodiment;

FIG. 5 is a diagram illustrating an example of a difference in theprocessing speed between the error correcting processing and the privacyamplification processing according to the first embodiment;

FIG. 6 is a diagram illustrating an example of a difference in thethroughput between the error correcting processing and the privacyamplification processing according to the first embodiment;

FIG. 7A is a diagram illustrating an example of sift processing data (intime-series order) in a buffer according to the first embodiment;

FIG. 7B is a diagram illustrating an example of processing orderdetermined by a determination unit according to the first embodiment;

FIG. 8A is a diagram illustrating an example of a timing chart (intime-series order) of the error correcting processing and the privacyamplification processing according to the first embodiment;

FIG. 8B is a diagram illustrating an example of the timing chart (afterprocessing order change) of the error correcting processing and theprivacy amplification processing according to the first embodiment;

FIG. 9 is a flow chart illustrating an example of a quantumcommunication method according to the first embodiment;

FIG. 10A is a diagram illustrating an example of the sift processingdata (in time-series order) in the buffer according to a secondembodiment;

FIG. 10B is a diagram illustrating an example of the processing orderdetermined by the determination unit according to the second embodiment;

FIG. 11A is a diagram illustrating an example of the timing chart (intime-series order) of the error correcting processing and the privacyamplification processing according to the second embodiment;

FIG. 11B is a diagram illustrating an example of the timing chart (afterprocessing order change) of the error correcting processing and theprivacy amplification processing according to the second embodiment;

FIG. 12 is a diagram illustrating an example of the configuration of thequantum communication device according to a third embodiment;

FIG. 13 is a diagram illustrating an example of an estimation error ofan estimated QbER according to the third embodiment;

FIG. 14 is a flow chart illustrating an example of a method of operationof an update unit according to the third embodiment;

FIG. 15 is a flow chart illustrating an example of a method of operationof an adjustment unit according to the third embodiment;

FIG. 16 is a diagram illustrating an example of a quantum access network(QAN) according to a fourth embodiment;

FIG. 17 is a diagram illustrating an example of the configuration of thequantum communication device according to the fourth embodiment; and

FIG. 18 is a diagram illustrating an example of the configuration of thequantum communication device according to the first to fourthembodiments.

DETAILED DESCRIPTION

According to an embodiment, a quantum communication device includes areceiver, a sift processor, an estimator, a first storage, a secondstorage, a determination unit, a corrector, a measurement unit, and aprivacy amplifier. The receiver is configured to receive a cryptographickey bit represented by one basis among a plurality of bases using aquantum state of a photon via a quantum communication channel, andacquire a cryptographic key bit string including a plurality of receivedcryptographic key bits. The sift processor is configured to acquire siftprocessing data by referring to the cryptographic key bit string in apredetermined bit string with a reference basis randomly selected fromthe plurality of bases. The estimator is configured to acquire anestimated error rate by estimating an error rate of the sift processingdata from an error rate of part of the sift processing data. The firststorage is configured to store the sift processing data and theestimated error rate in association with each other. The second storageis configured to store difference data indicating a difference between aprocessing speed of error correcting processing of the sift processingdata and a processing speed of privacy amplification processing of thesift processing data for each of error rates of a plurality of siftprocessing data. The determination unit is configured to determine orderof the sift processing data in which an error is to be corrected basedon the estimated error rate and the difference data when a data volumeof the sift processing data stored in the first storage is equal to orgreater than a first threshold. The corrector is configured to acquireone piece of the sift processing data from among the plurality of piecesof sift processing data from the first storage in the order determinedby the determination unit, and generate error correcting processing databy correcting the acquired sift processing data by the error correctingprocessing. The measurement unit is configured to measure the error rateof the sift processing data before correction by comparing the errorcorrecting processing data with the sift processing data before thecorrection corresponding to the error correcting processing data. Theprivacy amplifier is configured to generate cryptographic key data basedon the error rate measured by the measurement unit by applying theprivacy amplification processing to the error correcting processingdata.

First Embodiment

FIG. 1 is a diagram illustrating an example of a configuration of aquantum communication device 100 according to a first embodiment. Thequantum communication device 100 according to the first embodimentincludes a receiver 1, a sift processor 2, an estimator 3, a buffer 4(example of a first storage), a determination unit. 5, a storage 6(example of a second storage), an error correcting (EC) unit 7, ameasurement unit 8, a privacy amplification (PA) unit 9, and anapplication unit 10.

The receiver 1 receives a cryptographic key bit from a transmission sidedevice via a quantum communication channel using a quantum state of aphoton. The transmission side device represents the cryptographic keybit by one basis among a plurality of bases using the quantum state of aphoton. As the quantum state of a photon, polarization, phase, and thelike of the photon are used. As the basis, when polarization is used,for example, rectilinear polarization (vertical (0) and horizontal (1))or circular polarization (right-handed (0) and left-handed (1)) is used.The receiver 1 receives the plurality of cryptographic key bits via thequantum communication channel, and acquires a cryptographic key bitstring including the plurality of received cryptographic key bits. ABB84 protocol is known as an example of a transmission/reception methodof such a cryptographic key bit string. The receiver 1 transmits thecryptographic key bit string to the sift processor 2. The receiver 1receives part of sift processing data described later from thetransmission side device via a classical communication channel(conventional communication channel) that is not the quantumcommunication channel. The receiver 1 transmits the part of the siftprocessing data described later to the estimator 3.

The sift processor 2 receives the cryptographic key bit string from thereceiver 1. The sift processor 2 refers to the cryptographic key bitstring in a predetermined bit string to acquire a bit string(hereinafter referred to as “sift processing data”) with a referencebasis that a receiving side randomly selects from the plurality ofbases. Here, when the basis used by the transmission side device doesnot coincide with the reference basis, the sift processor 2 does not useinformation about the cryptographic key bit. For example, when thecryptographic key bit is transmitted using the quantum state ofrectilinear polarization of a photon, and when the sift processor 2 usesthe quantum state of circular polarization of light of a photon as thereference basis, the sift processor 2 does not use information about thecryptographic bit. The sift processor 2 transmits the sift processingdata to the estimator 3.

The estimator 3 receives the sift processing data from the siftprocessor 2, and receives part of the sift processing data from thereceiver 1. The estimator 3 performs estimation processing of anestimated quantum bit error rate (QbER). Specifically, the estimator 3compares part of the sift processing data that the receiver 1 receivesvia the classical communication channel with data corresponding to partof the sift processing data that the receiver 1 receives via theclassical communication channel among the pieces of sift processing datareceived from the sift processor 2. Thus, the estimator 3 calculates aQbER of part of the sift processing data. The estimator 3 estimates theestimated QbER of the sift processing data from the QbER of part of thesift processing data. The estimator 3 associates the sift processingdata with the estimated QbER of the sift processing data, and transmitsthe sift processing data and the estimated QbER to the buffer 4.

Here, the QbER (example of an error rate) will be described. In QKD, acryptographic key bit string is transmitted for each cryptographic keybit (one bit) using the quantum state of a quantum (photon). Inaccordance with an uncertainty principle that is one of basic principlesof quantum mechanics, observation of a quantum changes the quantumstate. This property causes the quantum state to change when aneavesdropper observes the quantum that includes the information aboutthe cryptographic key bit that the transmission side device transmits onthe quantum communication channel. This allows a receiving side devicethat receives the quantum to know that the quantum is observed by theeavesdropper. The QbER (quantum bit error rate) represents an error rateof the cryptographic key bit string resulting from changes in thequantum state. Variations in the QbER of the cryptographic key bitstring transmitted on the quantum communication channel enables a checkfor the presence of eavesdropping on the quantum communication channel.

Specifically, when the eavesdropper eavesdrops on the cryptographic keybit string flowing through the quantum communication channel, theeavesdropper needs to eavesdrop on the cryptographic key bit string by amethod identical to an acquisition method of the sift processing data bythe above-mentioned sift processor 2. Accordingly, the eavesdropper cancarry out successful eavesdropping only with a certain probability. Forexample, when there are two types of bases, the probability ofsuccessful eavesdropping will be ½. In addition, since the quantum statewill change once the eavesdropper carries out eavesdropping, it is notpossible to change the basis and to eavesdrop on the identical quantumstate again. That is, since a correct value of the cryptographic key bitof which eavesdropping fails is unknown, even if the eavesdropperhimself or herself creates the cryptographic key bit of which theeavesdropper fails in the eavesdropping and transmits the cryptographickey bit to the receiving side, it is not possible to transmit thecorrect value to the receiving side. This lowers the QbER calculatedwhen the bases are consistent between the transmission side and thereceiving side, and thus detects the eavesdropping. Even when the basesare consistent between the transmission side and the receiving side,since a constant QbER is obtained by noise on the quantum communicationchannel or by wrong detection by a photon-detecting device, theeavesdropping is detected when the constant QbER conspicuously varies.

The buffer 4 receives the sift processing data and the estimated QbER ofthe sift processing data. The buffer 4 associates the sift processingdata with the estimated QbER of the sift processing data, and(temporarily) stores the sift processing data and the estimated QbER.The sift processing data in the buffer 4 is identified by identificationinformation about the sift processing data. Examples of theidentification information include address information that indicates astorage location of the sift processing data.

The determination unit 5 determines whether a data volume of the siftprocessing data stored in the buffer 4 is equal to or greater than afirst threshold. When the data volume of the sift processing data storedin the buffer 4 is equal to or greater than the first threshold, thedetermination unit 5 determines order of the sift processing data inwhich an error is to be corrected based on difference data (see FIG. 6described later) and the estimated QbER being associated with the siftprocessing data, the difference data representing a difference betweenan error correcting processing speed (throughput of error correctingprocessing) according to the QbER and a privacy amplification processingspeed (throughput of privacy amplification processing) according to theQbER.

First, a relationship between the QbER of the sift processing data to beprocessed and the throughput of the error correcting processing will bedescribed. FIG. 2 is a diagram illustrating an example of the throughputof the error correcting processing according to the first embodiment.The horizontal axis of FIG. 2 represents the QbER. Values of the QbERare represented as floating point numbers. The vertical axis of FIG. 2represents the throughput (Mbit/s). In the example of FIG. 2, alow-density-parity-check (LDPC) code is used for the error correctingprocessing. FIG. 2 illustrates that all the throughput of the errorcorrecting processing using four different parameters (check matrix)decrease as the QbER increases.

The error correcting processing will be described now. The errorcorrecting processing determines whether the sift processing dataincludes an error based on a result of multiplying the check matrix bythe sift processing data (considering that the sift processing data is avector having a component with a value of zero or one). This result iscalled a syndrome. The syndrome of a zero vector shows that the siftprocessing data does not include an error. The syndrome of not a zerovector shows that the sift processing data includes an error.Furthermore, in a resulting column vector, it is possible to specify(correct) a position of the error in the sift processing data dependingon a position of the component that is not zero. Since a method of theerror correcting processing that uses the check matrix is already wellknown, the description regarding the check matrix will be omitted in thedescription of the present embodiment.

Generally, an amount of the error correcting processing increases as theQbER increases. For an LDPC code, for example, an amount of decodingcomputations increases as the QbER of the sift processing data to beprocessed increases because the number of repeated decoding increases.That is, when hardware or software is implemented so that the parallelcomputation number of an LDPC decoding algorithm is constant, thethroughput of the error correcting processing decreases.

Next, a relationship between the QbER of the sift processing data to beprocessed and a privacy amplification processing time will be described.FIG. 3 is a diagram illustrating an example of the privacy amplificationprocessing time according to the first embodiment. The horizontal axisof FIG. 3 represents the QbER. The vertical axis of FIG. 3 representsprocessing time (second) of the privacy amplification processing. Asillustrated in FIG. 3, the processing time of the privacy amplificationprocessing is almost constant regardless of the QbER value.

The privacy amplification processing will be described below. FIG. 4 isa diagram illustrating an example of the privacy amplificationprocessing according to the first embodiment. The privacy amplificationprocessing is processing for obtaining a bit string S used forcryptographic key data by multiplying input data E (error correctingprocessing data described later) by a special hash function such as aToeplitz matrix T. The privacy amplification processing compresses theinput data E into the bit string S having an output size correspondingto the hash function. The hash function is not limited to the Toeplitzmatrix T, but may be another hash function as long as the hash functioncan be used for the privacy amplification processing.

Since it is highly likely that data is being eavesdropped on by theeavesdropper when the QbER of the sift processing data is big, a datalength of the bit string S obtained after the privacy amplificationprocessing of the input data E (error correcting processing datadescribed later with the sift processing data corrected) becomesshorter. That is, among the bit string used for generation of thecryptographic key data, only safety-ensuring part of the data length ofthe bit string obtained from the sift processing data with a highpossibility that data is being eavesdropped on by the eavesdropper isused. That is, when the QbER of the sift processing data is big, thecolumn number of the Toeplitz matrix T for processing the input data Ebecomes smaller. Therefore, the amount of the privacy amplificationprocessing decreases as the QbER increases.

The multiplication of matrices includes the computation of multiplyingthe input data E by each row of the Toeplitz matrix T. When hardware orsoftware is implemented so that this computation is performed with aparallel number identical to a row number of the Toeplitz matrix T,regardless of changes in the column number of the Toeplitz matrix T, thecomputation is completed after a row size clock. Accordingly, thethroughput of the privacy amplification processing becomes constant. Itis assumed that, according to an implementation method of the privacyamplification processing of the quantum communication device 100according to the present embodiment, the privacy amplificationprocessing is implemented so that the throughput of the privacyamplification processing is constant without depending on the QbER. Inother implementation methods, the throughput of the privacyamplification processing generally varies (decreases) in accordance withthe QbER.

Since the privacy amplification processing is already well known,detailed description will be omitted. For example, details of theprivacy amplification processing are disclosed in Charles H. Bennett,Gilles Brassard, Claude Crepeau, and Ueli M. Maurer, “GeneralizedPrivacy Amplification”, IEEE Transactions on Information Theory, Vol.41, No. 6, November 1995.

Next, a difference in the processing speeds between the error correctingprocessing and the privacy amplification processing will be described.FIG. 5 is a diagram illustrating an example of the difference in theprocessing speeds between the error correcting processing (LDPC (Rate0.85)) and the privacy amplification processing (PA) according to thefirst embodiment. The horizontal axis of FIG. 5 represents the QbER.Values of the QbER are represented as floating point numbers. Thevertical axis of FIG. 5 represents the throughput (Mbit/s).

In a region 15, the throughput of the privacy amplification processingis lower than the throughput of the error correcting processing. Theprivacy amplification processing is performed after the error correctingprocessing. That is, when the error correcting processing and theprivacy amplification processing are always performed in this state, anarea for storing data (error correcting processing data described later)to be processed by the privacy amplification processing may overflow.

On the other hand, in a region 16, the throughput of the privacyamplification processing is higher than the throughput of the errorcorrecting processing. That is, when the error correcting processing andthe privacy amplification processing are always performed in this state,generation of the data (error correcting processing data describedlater) to be processed by the privacy amplification processing will taketime, and latency will increase until the privacy amplificationprocessing starts.

Next, a method will be described by which the determination unit 5determines order of correcting the sift processing data accumulated inthe buffer 4 using the difference between the processing speed of theerror correcting processing and the processing speed of the privacyamplification processing.

FIG. 6 is a diagram illustrating an example of a difference in thethroughput between the error correcting processing (LDPC) and theprivacy amplification processing (PC) according to the first embodiment.The horizontal axis of FIG. 6 represents the QbER. Values of the QbERare represented as floating point numbers. The vertical axis of FIG. 6represents the throughput (Mbit/s). The storage 6 stores the differencedata according to the QbER illustrated in the graph of FIG. 6.

The determination unit 5 acquires the plurality of pieces of differencedata by acquiring, from the storage 6, the piece of the difference datacorresponding to the QbER that coincides with the estimated QbER, eachof the estimated QbERs being associated with the sift processing data.

Next, the determination unit 5 performs correction order determinationprocessing. Specifically, the determination unit 5 first combines twopieces of the difference data among the plurality of pieces ofdifference data so that a sum of two pieces of difference data is closeto zero. Next, the determination unit 5 orders the combined differencedata in arbitrary order while maintaining combination. Next, thedetermination unit 5 determines the order of correcting the error in theplurality of the sift processing data being associated with theestimated error rate that coincides with the error rate corresponding tothe difference data in the order of the combined difference data.

The above-described correction order determination processing will bedescribed with reference to a specific example. FIG. 7A is a diagramillustrating an example of the sift processing data (in time-seriesorder) in the buffer according to the first embodiment. Specifically,FIG. 7A illustrates the sift processing data (Data-1 to Data-16) and theestimated QbER being associated with the sift processing data intime-series order in the order stored in the buffer 4.

First, the sift processing data with the estimated QbER of 1.80E-02 willbe described. When the estimated QbER is 1.80E-02, the processing speedof the error correcting processing is 4 Mbit/s, and the processing speedof the privacy amplification processing is 8 Mbit/s (see FIG. 5). Thedifference between the processing speed of the error correctingprocessing and the processing speed of the privacy amplificationprocessing is −4 Mbit/s (see FIG. 6). Accordingly, when the siftprocessing data being associated with the estimated QbER of 1.80E-02continues, latency occurs before the privacy amplification processingstarts.

On the other hand, when the estimated QbER is 9.00E-03, the processingspeed of the error correcting processing is 12 Mbit/s, and theprocessing speed of the privacy amplification processing is 8 Mbit/s(see FIG. 5). The difference between the processing speed of the errorcorrecting processing and the processing speed of the privacyamplification processing is 4 Mbit/s (see FIG. 6). Accordingly, when thesift processing data being associated with the estimated QbER of9.00E-03 continues, the privacy amplification processing may fail to beperformed in time, and the area for storing the input data E (errorcorrecting processing data) of the privacy amplification processing mayoverflow.

FIG. 8A is a diagram illustrating an example of a timing chart (intime-series order) of the error correcting processing and the privacyamplification processing according to the first embodiment. A capacityof a storage area (buffer memory) for transmitting the error correctingprocessing data from the error corrector 7 to the privacy amplifier 9 isassumed to be twice the data length necessary for the privacyamplification processing. For example, when a row size of the Toeplitzmatrix is 1M bit, the capacity of the buffer memory is 2M bit. Requiredprocessing time when processed in time-series order and requiredprocessing time when optimized are simply calculated. When the timerequired for the privacy amplification processing is 2T, from a ratio ofthe throughput of the error correcting processing to the throughput ofthe privacy amplification processing of FIG. 5, the error correctingprocessing time is 3T when the QbER=1.8E−2, and the error correctingprocessing time is 1T when the QbER=9E−3.

In the processing of Data-1 to 4, since the error correcting processingis slower, latency occurs in the privacy amplification processing. Inthe processing of Data-7 to 9 and Data-15 to 16, time slots exist duringwhich the error correcting processing is not performed due to thecapacity of the storage area. This is because, for example, the errorcorrecting processing of next Data-8 is preferably performed when Data-7is completed (15T), but the privacy amplification processing isprocessing Data-5 that is three pieces earlier. That is, since the errorcorrecting processing data corresponding to Data-6 and the errorcorrecting processing data corresponding to Data-7 exist in the storagearea as the input data E for the privacy amplification processing, theerror correcting processing of Data-8 cannot start.

In order to allow smooth performance of the error correcting processingand the privacy amplification processing, the determination unit 5specifically determines the processing order of the sift processing dataas follows.

FIG. 7B is a diagram illustrating an example of the processing orderdetermined by the determination unit 5 according to the firstembodiment. The determination unit 5 combines every two pieces of siftprocessing data based on the estimated QbER, and determines theprocessing order in the order of combinations from (1) to (8). Creationof the combination (1) of FIG. 7B will be specifically described. Sincethe estimated QbER of Data-5 is 9.00E-03, the difference between theprocessing speed (12 Mbit/s) of the error correcting processing ofData-5 and the processing speed (8 Mbit/s) of the privacy amplificationprocessing is 4 Mbit/s (see FIG. 5 and FIG. 6).

On the other hand, since the estimated QbER of Data-1 is 1.80E-02, thedifference between the processing speed (4 Mbit/s) of the errorcorrecting processing of Data-1 and the processing speed (8 Mbit/s) ofthe privacy amplification processing is −4 Mbit/s (see FIG. 5 and FIG.6). Accordingly, in a unit of the combination (1), the differencebetween the processing speed of the error correcting processing and theprocessing speed of the privacy amplification processing is 0 Mbit/s.Hereinafter, the determination unit 5 similarly creates the combinations(2) to (8), and determines the order of the sift processing data forperforming the error correcting processing in the order of from thecombination (1) to the combination (8).

The determination unit 5 determines the order so that an error iscorrected, starting from the sift processing data having the smallestestimated QbER that is associated with the sift processing data amongthe pieces of combined sift processing data. For example, for thecombination (1), the order is determined so that an error is corrected,starting from Data-5 having the smaller estimated QbER. This reduces thelatency until the privacy amplification processing starts.

FIG. 8B is a diagram illustrating an example of a timing chart (afterprocessing order change) of the error correcting processing and theprivacy amplification processing according to the first embodiment. Thetiming chart of FIG. 8B illustrates that the latency occurs only in thefirst time slot in the privacy amplification processing, and that theprocessing proceeds smoothly after then. The comparison between FIG. 8Aand FIG. 8B shows that a processing end time of the sift processing datafor the first eight pieces is earlier in FIG. 8B by 4T. The processingend time of the sift processing data for the next eight pieces isearlier in FIG. 8B by 6T. Therefore, when processing is advanced in thisstate, it can be understood that a large difference will be generated inthe processing end time.

Returning to FIG. 1, the determination unit 5 transmits data indicatingthe order of the sift processing data to be corrected to the errorcorrector 7.

The error corrector 7 receives the data indicating the order of the siftprocessing data to be corrected from the determination unit 5. The errorcorrector 7 performs error correcting processing of the sift processingdata. Specifically, the error corrector 7 acquires one piece of siftprocessing data from the buffer 4 in the order determined by thedetermination unit 5 among the plurality of pieces of sift processingdata. Then, the error corrector 7 generates the error correctingprocessing data by applying the correction processing to the acquiredsift processing data with a predetermined parallel computation number.The error corrector 7 transmits the error correcting processing data tothe measurement unit 8 and the privacy amplifier 9.

An error correcting code used for correction by the error corrector 7may be an arbitrary code. For example, besides the above-mentioned LDPCcode, a Reed-Solomon (RS) code and Bose-Chaudhuri-Hocquenghem (BCH) codemay be used. In addition, a Cascade protocol used as an error correctingsystem for a BB84 method may be used.

While the error corrector 7 corrects the sift processing data so thatthe syndrome becomes a zero vector, the error corrector 7 may correctthe data so that the syndrome is a non-zero vector and coincides with asyndrome of the transmission side sift processing data. In correction,it is necessary to receive the transmission side syndrome from thetransmission side device via the classical communication channel, and toinput the syndrome into the error corrector 7.

The measurement unit 8 receives the error correcting processing datafrom the error corrector 7. The measurement unit 8 acquires the siftprocessing data before the correction corresponding to the errorcorrecting processing data from the buffer 4. The measurement unit 8measures the QbER of the sift processing data by comparing the errorcorrecting processing data with the sift processing data before thecorrection corresponding to the error correcting processing data. Themeasurement unit 8 transmits the measured QbER to the privacy amplifier9.

The privacy amplifier 9 receives the error correcting processing datafrom the error corrector 7, and receives the QbER of the errorcorrecting processing data from the measurement unit 8. The privacyamplifier 9 performs privacy amplification processing of the errorcorrecting processing data with a predetermined parallel computationnumber based on the QbER of the error correcting processing data. Then,the privacy amplifier 9 generates the cryptographic key data to beshared with the transmission side device using the bit string obtainedby privacy amplification processing of the error correcting processingdata. The privacy amplifier 9 transmits the generated cryptographic keydata to the application unit 10.

The application unit 10 receives the cryptographic key data from theprivacy amplifier 9. The application unit 10 performs data encryptionand decryption using the cryptographic key data. The application unit 10transmits and receives the encrypted data with the transmission sidedevice.

Next, a quantum communication method of the first embodiment will bedescribed with reference to a flow chart. FIG. 9 is a flow chartillustrating an example of the quantum communication method according tothe first embodiment. The receiver 1 receives the cryptographic key bitstring from the transmission side device via the quantum communicationchannel using the quantum state of a photon (step S1). Next, the siftprocessor 2 acquires the sift processing data by referring to thecryptographic key bit string in a predetermined bit string with thereference basis randomly selected from the bases (step S2).

Next, the receiver 1 receives part of the sift processing data from thetransmission side device via the classical communication channel(conventional communication channel) that is not the quantumcommunication channel (step S3). Next, the estimator 3 performsestimation processing of the above-mentioned estimated QbER (step S4).Next, the estimator 3 associates the sift processing data with theestimated QbER of the sift processing data, and transmits the siftprocessing data and the estimated QbER to the buffer 4 (step S5).

Next, the determination unit 5 determines whether the data volume of thesift processing data stored in the buffer 4 is equal to or greater thanthe first threshold (step S6). When the data volume is equal to orgreater than the first threshold (step S6, Yes), the determination unit5 acquires the estimated QbER of each piece of the sift processing datafrom the buffer 4 (step S7). When the data volume is not equal to orgreater than the first threshold (step S6, No), the determination unit 5returns to the processing of step S2.

Next, the determination unit 5 acquires, from the storage 6, thedifference data corresponding to the QbER that coincides with theestimated QbER, each of the estimated QbERs (step S8). Next, thedetermination unit 5 performs processing (above-mentioned correctionorder determination processing) of determining the order of theplurality of the sift processing data in which an error is to becorrected based on the estimated QbER being associated with the siftprocessing data and the difference data (step S9). Next, the errorcorrector 7 performs correction processing of the above-mentioned siftprocessing data (step S10). Next, the measurement unit 8 measures theQbER of the sift processing data by comparing the error correctingprocessing data with the sift processing data before correctioncorresponding to the error correcting processing data (step S11). Next,the privacy amplifier 9 performs privacy amplification processing of theerror correcting processing data based on the measured QbER (step S12).Next, the privacy amplifier 9 generates the cryptographic key data to beshared with the transmission side device using the bit string obtainedby privacy amplification processing of the error correcting processingdata (step S13).

As described above, the quantum communication device 100 according tothe first embodiment includes the determination unit for determining theorder of the sift processing data in which an error is to be correctedbased on the difference data indicating the difference between the errorcorrecting processing speed according to the QbER and the privacyamplification processing speed according to the QbER, and on theestimated QbER being associated with the sift processing data. Thisallows the quantum communication device 100 of the present embodiment toreduce the processing time of the error correcting processing and theprocessing time of the privacy amplification processing, and thus allowsefficient cryptographic key data generation.

Second Embodiment

Next, a second embodiment will be described. A determination unit 5 ofthe second embodiment orders combined difference data in order of thecombined difference data with a sum of absolute values of two pieces ofdifference data closer to zero. In other words, the determination unit 5orders sift processing data from the sift processing data with adifference between a processing speed of error correcting processing anda processing speed of privacy amplification processing closer to zero.

A configuration of a quantum communication device 100 according to thesecond embodiment is identical to a configuration of the quantumcommunication device 100 according to the first embodiment, and thusdescription will be omitted.

Correction order determination processing of the determination unit 5 ofthe second embodiment will be described with reference to a specificexample. FIG. 10A is a diagram illustrating an example of the siftprocessing data (in time-series order) in a buffer according to thesecond embodiment. Specifically, FIG. 10A illustrates the siftprocessing data (Data-1 to Data-12) and an estimated QbER beingassociated with the sift processing data in time-series order in whichthe sift processing data and the estimated QbER are stored in the buffer4.

The sift processing data with the estimated QbER of 1.20E-02 will bedescribed. When the estimated QbER is 1.20E-02, the processing speed ofthe error correcting processing is 8 Mbit/s, and the processing speed ofthe privacy amplification processing is 8 Mbit/s (see FIG. 5). Thedifference between the processing speed of the error correctingprocessing and the processing speed of the privacy amplificationprocessing is 0 Mbit/s (see FIG. 6).

The case where the estimated QbER is 1.80E-02 and the case where theestimated QbER is 9.00E-03 have been described in the first embodiment,and thus description will be omitted.

FIG. 11A is a diagram illustrating an example of a timing chart (intime-series order) of the error correcting processing and the privacyamplification processing according to the second embodiment. Inprocessing of Data-1 to 4, since the error correcting processing isslower, latency occurs in the privacy amplification processing. Inprocessing of Data-9 to 11, time slots exist during which the errorcorrecting processing is not performed due to a capacity of a storagearea. This is because, for example, the error correcting processing ofnext Data-10 is preferably performed when Data-9 is completed (19T), butthe privacy amplification processing is performing processing of Data-7that is three pieces earlier. That is, since the error correctingprocessing data corresponding to Data-8 and the error correctingprocessing data corresponding to Data-9 exist in the storage area asinput data E for the privacy amplification processing, the errorcorrecting processing of Data-10 cannot start.

In order to allow smooth performance of the error correcting processingand the privacy amplification processing, the determination unit 5specifically determines processing order of the sift processing data asfollows.

FIG. 10B is a diagram illustrating an example of the processing orderdetermined by the determination unit 5 of the first embodiment. Thedetermination unit 5 combines every two pieces of the sift processingdata based on the estimated QbER, and determines the processing order inthe order of combinations from (1) to (6). Creation of the combination(1) of FIG. 10B will be specifically described. Since the estimated QbERof each piece of Data-5 and Data-6 is 1.20E-02, the difference betweenthe processing speed (8 Mbit/s) of the error correcting processing andthe processing speed (8 Mbit/s) of the privacy amplification processingis 0 Mbit/s (see FIG. 5 and FIG. 6). That is, the sum of the absolutevalue of the difference data of Data-5 and the absolute value of thedifference data of Data-6 is zero. Therefore, the determination unit 5combines Data-5 and Data-6 to create the combination (1), and determinesthe combination (1) as a combination of the sift processing data inwhich an error is to be corrected first. The determination unit 5creates the combination (2) in the same manner as in the combination(1). The combinations (3) to (6) are similar to the combinations (3) to(6) of the first embodiment, and thus description will be omitted.

FIG. 11B is a diagram illustrating an example of a timing chart (afterprocessing order change) of the error correcting processing and theprivacy amplification processing according to the second embodiment. Thetiming chart of FIG. 11B illustrates that the latency occurs only in thefirst time slot in the privacy amplification processing, and that theprocessing proceeds smoothly after then.

As described above, in the quantum communication device 100 according tothe second embodiment, the determination unit 5 determines theprocessing order of the error correcting processing by combining twopieces of the sift processing data in the same manner as in the firstembodiment. Furthermore, when there are a plurality of pieces of siftprocessing data with the processing speed of the error correctingprocessing being identical to the processing speed of the privacyamplification processing, the determination unit 5 of the secondembodiment determines the processing order so that the pieces of thesift processing data are combined and the error correcting processing isperformed first. This allows the quantum communication device 100 of thepresent embodiment to reduce the processing time of the error correctingprocessing and the processing time of the privacy amplificationprocessing, and thus allows efficient cryptographic key data generation.

Third Embodiment

Next, a third embodiment will be described. The third embodiment updates(optimizes) data stored in a storage 6 by feeding back relevant data(correction processing time, QbER, and privacy amplification processingtime) obtained by a quantum communication device 100 performingprocessing. In the description of the third embodiment, descriptionsimilar to description of the first embodiment will be omitted, and adifferent point from the first embodiment will be described in detail.

FIG. 12 is a diagram illustrating an example of a configuration of thequantum communication device 100 according to the third embodiment. Thequantum communication device 100 according to the third embodimentincludes a receiver 1, a sift processor 2, an estimator 3, a buffer 4, adetermination unit 5, the storage 6, an error corrector 7, a measurementunit 8, a privacy amplifier 9, an application unit 10, an update unit11, and an adjustment unit 12. The receiver 1, the sift processor 2, theestimator 3, the buffer 4, and the application unit 10 are identical tothose of the first embodiment, and thus description will be omitted.

The determination unit 5 determines whether a data volume of siftprocessing data stored in the buffer 4 is equal to or greater than afirst threshold. When the data volume of the sift processing data storedin the buffer 4 is equal to or greater than the first threshold, thedetermination unit 5 determines order of the sift processing data inwhich an error is to be corrected based on an estimated QbER beingassociated with the sift processing data, an estimation error of theestimated QbER, and the above-described difference data according to theQbER. The determination unit 5 of the third embodiment does not use theestimated QbER being associated with the sift processing data as it is,and uses the estimated QbER after correction based on the estimationerror of the estimated QbER to determine the order of the siftprocessing data in which an error is to be corrected.

The estimation error of the estimated QbER will be described below. FIG.13 is a diagram illustrating an example of the estimation error of theestimated QbER according to the third embodiment. FIG. 13 illustratesthe estimation error for each range of the estimated QbER. For example,when the range of the estimated QbER is 0≦QbER<(5e−3), the estimationerror is a. The estimation error is a value calculated by the updateunit 11 described later based on a difference between the estimated QbERestimated by the estimator 3 and the QbER measured by the measurementunit 8. Details of the estimation error will be described later.

The determination unit 5 receives a stop instruction of correction orderdetermination processing described in the first embodiment from theupdate unit 11. On receipt of the stop instruction of the correctionorder determination processing, the determination unit 5 stopsprocessing for determining the order of the sift processing data inwhich an error is to be corrected. That is, the error corrector 7processes the sift processing data in the buffer 4 in time-series order.

The storage 6 stores the above-described difference data according tothe QbER and an estimation error database. The above-describeddifference data according to the QbER is identical to the differencedata in the first embodiment, and thus description will be omitted. Theestimation error database stores the estimation error of the estimatedQbER (see FIG. 13).

The error corrector 7 receives data indicating the order of the siftprocessing data to be corrected from the determination unit 5. The errorcorrector 7 performs correction processing of the sift processing datain the same manner as in the first embodiment, and generates errorcorrecting processing data. At this time, the error corrector 7 of thesecond embodiment acquires the correction processing time actuallyrequired for the correction processing of the sift processing data. Theerror corrector 7 transmits, to the update unit 11, correctionprocessing information including the correction processing time andidentification information for identifying the sift processing data inwhich the correction processing time is to be acquired. In addition, theerror corrector 7 transmits the error correcting processing data andidentification information for identifying the sift processing databefore the correction corresponding to the error correcting processingdata to the privacy amplifier 9.

The measurement unit 8 measures the QbER of the sift processing data inthe same manner as in the first embodiment. At this time, themeasurement unit 8 of the third embodiment transmits, to the update unit11, measurement information including the QbER and identificationinformation for identifying the sift processing data in which the QbERis to be measured. The measurement unit 8 of the third embodimenttransmits the QbER to the adjustment unit 12.

The privacy amplifier 9 receives, from the error corrector 7, the errorcorrecting processing data and identification information about the siftprocessing data before the correction corresponding to the errorcorrecting processing data, and receives the QbER of the errorcorrecting processing data from the measurement unit 8. The privacyamplifier 9 performs the privacy amplification processing of the errorcorrecting processing data in the same manner as in the firstembodiment. At this time, the privacy amplifier 9 of the thirdembodiment acquires the privacy amplification processing time that isactually required in the privacy amplification processing of the errorcorrecting processing data. The privacy amplifier 9 transmits, to theupdate unit 11, privacy amplification processing information includingthe privacy amplification processing time and the identificationinformation about the sift processing data before the correctioncorresponding to the error correcting processing data in which theprivacy amplification processing time is to be acquired.

The update unit 11 receives the above-described correction processinginformation from the error corrector 7, receives the above-describedprivacy amplification processing information from the privacy amplifier9, and receives the above-described measurement information from themeasurement unit 8. The update unit 11 acquires, from the buffer 4, theestimated QbER being associated with the sift processing data identifiedby the identification information about the sift processing data.

The update unit 11 updates the difference data according to the QbER inthe storage 6 based on the QbER of the sift processing data, thecorrection processing time of the sift processing data, and the privacyamplification processing time of the error correcting processing datacorresponding to the sift processing data. The update unit 11 calculatesthe estimation error from a difference between the estimated QbER andthe QbER. The update unit 11 calculates an average of the estimationerrors of the estimated QbER using the plurality of calculatedestimation errors, and updates the estimation error of the estimatedQbER with the average.

When the average of the estimation errors is equal to or greater than asecond threshold, the update unit 11 does not update the estimationerror. Instead of updating (optimizing) the data stored in the storage6, the update unit 11 transmits the above-described stop instruction forstopping the correction order determination processing to thedetermination unit 5. This is because it is considered that an operatingstate of the error corrector 7 and the measurement unit 8, and anoperating state of the estimator 3 lack consistency. That is, this isbecause, in such a state, it is better to perform maintenance workinvolving initialization of each database or the like, and to performinitialization (rebooting or the like) of the quantum communicationdevice 100 than to feed back data obtained in actual correctionprocessing and to update data in the storage 6.

The adjustment unit 12 receives the QbER from the measurement unit 8.Alternatively, the adjustment unit 12 acquires the estimated QbER fromthe buffer 4. The adjustment unit 12 calculates an average of theestimated QbERs or an average of the QbERs. The adjustment unit 12acquires the QbER with the difference data of zero from the storage 6.Then, the adjustment unit 12 calculates a difference between thecalculated average of the estimated QbERs or the average of the QbERs,and the QbER with the difference data of zero. When the difference isequal to or greater than a third threshold, the adjustment unit 12adjusts the parallel computation number of the error corrector 7 and/orthe parallel computation number of the privacy amplifier 9 so that theaverage of the estimated QbERs or the average of the QbERs coincideswith the QbER with the difference data of zero.

The reason for such an adjustment is that the above-described correctionorder determination processing exerts its effect best when the averageof the QbERs of the sift processing data to be processed coincides withthe above-described QbER with the difference data of zero.

The adjustment unit 12 stores circuit data and parallel computationparameters corresponding to various parallel computation numbers inadvance. For example, when signal processing is implemented by afield-programmable gate array (FPGA), the adjustment unit 12 stores abinary file showing a circuit configuration. When signal processing isimplemented by software, the adjustment unit 12 stores asignal-processing program and a parameter. When a configuration ischanged, the adjustment unit 12 performs selection from among candidates(circuit data, parallel computation parameter, and the like) in whichthe configuration of the error correcting processing and/or the privacyamplification processing is stored so that the average of the QbERs ofthe sift processing data to be processed and the above-described QbERwith the difference data of zero become closest to each other.

The adjustment unit 12 also performs adjustment for allowing smoothperformance of the error correcting processing and the privacyamplification processing. For example, when the QbER is very low and theerror correcting processing is very fast, the privacy amplificationprocessing becomes a bottleneck. Accordingly, for example, theadjustment unit 12 reduces the parallel computation number of the errorcorrecting processing, or increases the parallel computation number ofthe privacy amplification processing, or performs both processing. Thisallows the adjustment unit 12 to perform the error correcting processingand the privacy amplification processing smoothly.

For initial setting of the parallel computation number, for example, anaverage of the QbERs of a quantum communication channel measured inadvance is used before connecting the quantum communication device 100to the quantum communication channel. That is, the initial setting isdetermined so that the measured QbER coincides with the QbER withthroughput of the error correcting processing being identical tothroughput of the privacy amplification processing.

Next, an example of a method of operation of the update unit 11 of thethird embodiment will be described with reference to a flow chart. FIG.14 is a flow chart illustrating the example of the method of operationof the update unit 11 according to the third embodiment. The update unit11 receives, from the error corrector 7, the correction processinginformation including the correction processing time and theidentification information for identifying the sift processing data inwhich the correction processing time is to be acquired (step S21). Next,the update unit 11 receives, from the privacy amplifier 9, the privacyamplification processing information including the privacy amplificationprocessing time and the identification information about the siftprocessing data before the correction corresponding to the errorcorrecting processing data in which the privacy amplification processingtime is to be acquired (step S22).

Next, the update unit 11 receives, from the measurement unit 8, themeasurement information including the QbER and the identificationinformation for identifying the sift processing data in which the QbERis to be measured (step S23). Next, the update unit 11 acquires, fromthe buffer 4, the estimated QbER being associated with the siftprocessing data identified by the identification information about thesift processing data (step S24).

Next, the update unit 11 updates the difference data according to theQbER in the storage 6 based on the QbER of the sift processing data, thecorrection processing time of the sift processing data, and the privacyamplification processing time of the error correcting processing datacorresponding to the sift processing data (step S25).

Next, the update unit 11 calculates the estimation error from thedifference between the estimated QbER and the QbER, and calculates theaverage of the estimation errors of the estimated QbER using theplurality of calculated estimation errors (step S26). The update unit 11determines whether the average of the estimation errors is equal to orgreater than the second threshold (step S27). When the average is equalto or greater than the second threshold (step S27, Yes), the update unit11 transmits the above-described stop instruction for stopping thecorrection order determination processing (step S29). When the averageis smaller than the second threshold (step S27, No), the update unit 11updates the estimation error of the estimated QbER with the average(step S28).

Next, an example of a method of operation of the adjustment unit 12 ofthe third embodiment will be described with reference to a flow chart.FIG. 15 is a flow chart illustrating the example of the method ofoperation of the adjustment unit 12 according to the third embodiment.The adjustment unit 12 calculates the average of the estimated QbERs orthe average of the QbERs (step S31). Next, the adjustment unit 12acquires the QbER with the difference data of zero from the storage 6(step S22). Next, the adjustment unit 12 determines whether thedifference between the calculated average of the estimated QbERs (or theaverage of the QbERs) and the QbER with the difference data of zero isequal to or greater than the third threshold (step S33). When thedifference is equal to or greater than the third threshold (step S33,Yes), the adjustment unit 12 adjusts the parallel computation number ofthe error corrector 7 and/or the parallel computation number of theprivacy amplifier 9 so that the average of the estimated QbERs (or theaverage of the QbERs) coincides with the QbER with the difference dataof zero (step S34). When the difference is not equal to or greater thanthe third threshold, the adjustment unit 12 ends processing (step S33,No).

As described above, in the quantum communication device 100 according tothe third embodiment, the update unit 11 updates the above-describeddifference data according to the QbER based on the correction processingtime fed back from the error corrector 7, the QbER fed back from themeasurement unit 8, and the privacy amplification processing time fedback from the privacy amplifier 9. The update unit 11 calculates theestimation error from the difference between the estimated QbER and theQbER, calculates the average of the estimation errors of the estimatedQbER using the plurality of calculated estimation errors, and updatesthe estimation error of the estimated QbER with the average. This allowsthe quantum communication device 100 of the third embodiment to optimizeand improve processing of the estimator 3 and the determination unit 5.

In the quantum communication device 100 of the third embodiment, whenthe difference between the average of the estimated QbERs (or theaverage of the QbERs) and the QbER with the difference data of zero isequal to or greater than the third threshold, the adjustment unit 12adjusts the parallel computation number of the error corrector 7 and/orthe parallel computation number of the privacy amplifier 9 so that theaverage of the estimated QbERs (or the average of the QbERs) coincideswith the QbER with the difference data of zero. This allows the quantumcommunication device 100 of the third embodiment to optimize processingof the determination unit 5 so that the above-described correction orderdetermination processing best exerts its effect.

Fourth Embodiment

Next, a fourth embodiment will be described. A quantum communicationdevice 100 of the fourth embodiment receives a cryptographic key bitstring from a plurality of devices. In the description of the fourthembodiment, description similar to description of the first embodimentwill be omitted, and a different point from the first embodiment will bedescribed in detail. The quantum communication device 100 of the fourthembodiment is used in a quantum access network (QAN) in which a key isshared by quantum key distribution by one-to-many nodes.

FIG. 16 is a diagram illustrating an example of the quantum accessnetwork (QAN). In the example of FIG. 16, the quantum communicationdevice 100 is connected to a quantum core network (QCN). Three devices200 that each transmit a cryptographic key bit string are connected tothe quantum communication device 100. In the example of FIG. 16, thequantum access network (QAN) includes the quantum communication device100 and the three devices 200. Here, the number of the devices 200 maybe any number, but in the description of the present embodiment, thenumber of the devices 200 is assumed to be three for simplicity.

FIG. 17 is a diagram illustrating an example of a configuration of thequantum communication device 100 according to the fourth embodiment. Thequantum communication device 100 according to the fourth embodiment isconfigured such that, among components of the quantum communicationdevice 100 of the first embodiment, sift processors 2, estimators 3,error correctors 7, measurement units 8, and privacy amplifiers 9 aremultiplexed. This allows the quantum communication device 100 togenerate cryptographic key data for each device 200 without delay evenwhen receiving the cryptographic key bit string from the plurality ofdevices 200.

In the example of FIG. 17, the sift processors 2, the estimators 3, theerror correctors 7, the measurement units 8, and the privacy amplifiers9 are all multiplexed by the number of the transmission side devices 200(three in the present embodiment). However, it is not necessary to setmultiplicity identical to the number of the transmission side devices200, and the multiplicity may be changed depending on a processing loadof each functional block.

The buffer 4 further associates identification information foridentifying the transmission side devices 200 with sift processing dataand an estimated QbER, and stores the identification information, thesift processing data, and the estimated QbER. The identificationinformation about each device 200 is referred to when an applicationunit 10 identifies the cryptographic key data for each device 200.

The determination unit 5 determines order of the sift processing data inwhich an error is to be corrected in the same manner as in the firstembodiment without referring to the identification information about thedevices 200. That is, the determination unit 5 determines the order ofthe sift processing data in which an error is to be corrected by mixingthe plurality of pieces of sift processing data generated from thecryptographic key bit strings transmitted from separate devices. Thedetermination unit 5 transmits data showing the order of the siftprocessing data to be corrected to the error corrector 7 with thesmallest processing load among three error correctors 7.

The error corrector 7 performs correction processing of the siftprocessing data in the same manner as in the first embodiment. At thistime, the error corrector 7 acquires, from the buffer 4, one piece ofsift processing data among the plurality of pieces of sift processingdata and the identification information about the device 200 thattransmits the sift processing data in the order determined by thedetermination unit 5. The error corrector 7 transmits error correctingprocessing data and the identification information about the device 200to the privacy amplifier 9 having the smallest processing load among thethree privacy amplifiers 9. The error corrector 7 transmits the errorcorrecting processing data, the identification information about thedevice 200, and identification information for identifying the privacyamplifier 9 that transmits measured QbER, to the measurement unit 8having the smallest processing load among the three measurement units 8.

The measurement unit 8 receives, from the error corrector 7, the errorcorrecting processing data, the identification information about thedevice 200, and the identification information for identifying theprivacy amplifier 9 that transmits the measured QbER. The measurementunit 8 acquires the sift processing data before the correctioncorresponding to the error correcting processing data from the buffer 4.The measurement unit 8 measures the QbER of the sift processing data bycomparing the error correcting processing data with the sift processingdata before the correction corresponding to the error correctingprocessing data. The measurement unit 8 transmits the identificationinformation about the device 200 and the measured QbER to the privacyamplifier 9 identified by the identification information about theprivacy amplifier 9 received from the error corrector 7.

The privacy amplifier 9 receives the error correcting processing dataand the identification information about the device 200 that transmitsthe sift processing data from the error corrector 7, and receives theidentification information about the device 200 and the QbER of theerror correcting processing data from the measurement unit 8. Theprivacy amplifier 9 performs privacy amplification processing of theerror correcting processing data based on the QbER of the errorcorrecting processing data. Then, the privacy amplifier 9 uses the bitstring obtained by privacy amplification processing of the errorcorrecting processing data to generate the cryptographic key data to beshared. The privacy amplifier 9 transmits the identification informationabout the device 200 and the generated cryptographic key data to theapplication unit 10.

The application unit 10 receives the identification information aboutthe device 200 and the cryptographic key data from the privacy amplifier9. The application unit 10 combines the cryptographic key data for eachtransmission side device 200, and performs encryption and decryption ofdata using the cryptographic key data for each device 200. Theapplication unit 10 transmits and receives the encrypted data with thetransmission side device 200.

As described above, in the quantum communication device 100 of thefourth embodiment, the buffer 4 associates the identificationinformation about the transmission side device 200 with the siftprocessing data and the estimated QbER, and stores the identificationinformation, the sift processing data, and the estimated QbER. Thedetermination unit 5, the error corrector 7, and the measurement unit 8perform processing without identifying the transmission side device 200.The privacy amplifier 9 uses the bit string obtained by privacyamplification processing of the error correcting processing data togenerate the cryptographic key data to be shared for each transmissionside device 200. This allows the quantum communication device 100 of thefourth embodiment to perform the error correcting processing efficientlyeven when communicating with the plurality of devices 200.

In the quantum communication device 100 of the fourth embodiment,processing of the determination unit 5, the error corrector 7, themeasurement unit 8, and the privacy amplifier 9 is performed withoutidentifying the device 200, but the processing may be performed for eachdevice 200.

In the quantum communication device 100 of the fourth embodiment, thedetermination unit 5 transmits data to the error corrector 7 with thesmallest processing load among the three error correctors 7, but thedata may be allocated to each error corrector 7 so that processing timebecomes uniform. The determination unit 5 may allocate data so that allcheck matrices used in each error corrector 7 are identical to eachother. That is, the determination unit. 5 may allocate the data to eacherror corrector 7 according to the check matrix used for correction ofeach piece of sift processing data.

In the quantum communication device 100 of the fourth embodiment, theerror corrector 7 transmits the error correcting processing data and theidentification information about the device 200 to the privacy amplifier9, but the error correcting processing data and the identificationinformation about the device 200 may be transmitted from the measurementunit 8 to the privacy amplifier 9. This eliminates the need for theerror corrector 7 to transmit the identification information foridentifying the destination privacy amplifier 9 to the measurement unit8.

In addition, a shared memory may be placed between the plurality oferror correctors 7 and the plurality of privacy amplifiers 9. That is,the error corrector 7 may store the error correcting processing data inthe shared memory and store the measured QbER in the shared memory, andthe privacy amplifier 9 may acquire the error correcting processing dataand the QbER stored in the shared memory. Also in this case, wheninputting the data in the privacy amplifier 9, it is preferable to inputthe data while maintaining a combination of processing and processingorder that are determined by the determination unit 5.

The second embodiment and the third embodiment may be combined. That is,data stored in the storage 6 may be updated (optimized) by feeding backrelevant data (correction processing time, QbER, and privacyamplification processing time) obtained by performing processing in thequantum communication device 100. At this time, optimization may beperformed without identifying the transmission side device 200, andoptimization may be performed for each transmission side device 200.When optimization is performed for each transmission side device 200,the determination unit 5, the error corrector 7, the measurement unit 8,and the privacy amplifier 9 perform processing by identifying thetransmission side device 200, and identifies which device 200 therelevant data used for feedback is about.

Finally, an example of a hardware configuration of the quantumcommunication device 100 of the first to fourth embodiments will bedescribed. FIG. 18 is a diagram illustrating the example of theconfiguration of the quantum communication device 100 according to thefirst to fourth embodiments. The quantum communication device 100according to the first to fourth embodiments includes a control device21, a main storage device 22, an auxiliary storage device 23, a displaydevice 24, an input device 25, a quantum communication IF 26, and aclassical communication IF 27. The control device 21, the main storagedevice 22, the auxiliary storage device 23, the display device 24, theinput device 25, the quantum communication IF 26, and the classicalcommunication IF 27 are connected to each other via a bus 28. Thequantum communication device 100 may be an arbitrary device that has theabove-described hardware configuration. For example, the quantumcommunication device 100 is a personal computer (PC), a mobile terminal,and the like.

The control device 21 executes a program read from the auxiliary storagedevice 23 to the main storage device 22. The main storage device 22 is amemory such as a ROM and a RAM. The auxiliary storage device 23 is ahard disk drive (HDD), a memory card, and the like. The display device24 displays a state of the quantum communication device 100 or the like.The input device 25 receives an input from a user. The quantumcommunication IF 26 is an interface for connection to a quantumcommunication channel. The classical communication IF 27 is an interfacefor connection to a classical communication channel.

The program executed in the quantum communication device 100 of thefirst to fourth embodiments is an installable file or an executablefile. The program is stored in a computer-readable storage medium suchas a CD-ROM, a memory card, a CD-R, and a digital versatile disk (DVD),and is provided as a computer program product.

The program executed in the quantum communication device 100 of thefirst to fourth embodiments may be configured to be stored in a computerconnected to a network, such as the Internet, and to be provided byallowing download via the network. The program executed in the quantumcommunication device 100 of the first to fourth embodiments may beconfigured to be provided via the network, such as the Internet, withoutallowing download.

The program of the quantum communication device 100 of the first tofourth embodiments may be configured to be incorporated in a ROM or thelike in advance and to be provided.

The program executed in the quantum communication device 100 of thefirst to fourth embodiments has a modular configuration including theabove-described respective functional blocks (receiver 1, sift processor2, estimator 3, determination unit 5, error corrector 7, measurementunit 8, privacy amplifier 9, application unit 10, update unit 11, andadjustment unit 12). As actual hardware, the respective functionalblocks are loaded in the main storage device 22 by the control device 21reading the program from the storage medium and executing the program.That is, the respective functional blocks are generated in the mainstorage device 22.

Part or all of the above-described respective units (receiver 1, siftprocessor 2, estimator 3, determination unit 5, error corrector 7,measurement unit 8, privacy amplifier 9, application unit 10, updateunit 11, and adjustment unit 12) may not be achieved by software but beachieved by hardware, such as an integrated circuit (IC).

As described above, according to the quantum communication device 100 ofthe first to fourth embodiments, it is possible to reduce the processingtime of the error correcting processing and the processing time of theprivacy amplification processing, and thus it is possible to generatethe cryptographic key data efficiently.

While certain embodiments have been described, these embodiments havebeen presented by way of example only, and are not intended to limit thescope of the inventions. Indeed, the novel embodiments described hereinmay be embodied in a variety of other forms; furthermore, variousomissions, substitutions and changes in the form of the embodimentsdescribed herein may be made without departing from the spirit of theinventions. The accompanying claims and their equivalents are intendedto cover such forms or modifications as would fall within the scope andspirit of the inventions.

What is claimed is:
 1. A quantum communication device comprising: areceiver configured to receive a cryptographic key bit represented byone basis among a plurality of bases using a quantum state of a photonvia a quantum communication channel, and acquire a cryptographic key bitstring including a plurality of received cryptographic key bits; a siftprocessor configured to acquire sift processing data by referring to thecryptographic key bit string in a predetermined bit string with areference basis randomly selected from the plurality of bases; anestimator configured to acquire an estimated error rate by estimating anerror rate of the sift processing data from an error rate of part of thesift processing data; a first storage configured to store the siftprocessing data and the estimated error rate in association with eachother; a second storage configured to store difference data indicating adifference between a processing speed of error correcting processing ofthe sift processing data and a processing speed of privacy amplificationprocessing of the sift processing data for each of error rates of aplurality of sift processing data; a determination unit configured todetermine order of the sift processing data in which an error is to becorrected based on the estimated error rate and the difference data whena data volume of the sift processing data stored in the first storage isequal to or greater than a first threshold; a corrector configured toacquire one piece of the sift processing data from among the pluralityof pieces of sift processing data from the first storage in the orderdetermined by the determination unit, and generate error correctingprocessing data by correcting the acquired sift processing data by theerror correcting processing; a measurement unit configured to measurethe error rate of the sift processing data before correction bycomparing the error correcting processing data with the sift processingdata before the correction corresponding to the error correctingprocessing data; and a privacy amplifier configured to generatecryptographic key data based on the error rate measured by themeasurement unit by applying the privacy amplification processing to theerror correcting processing data.
 2. The device according to claim 1,wherein the receiver is configured to receive part of the siftprocessing data via a classical communication channel from atransmission side device that transmits the cryptographic key bitstring, and the estimator is configured to acquire the estimated errorrate of the sift processing data based on data corresponding to part ofthe sift processing data received via the classical communicationchannel among the sift processing data acquired by the sift processor,and on part of the sift processing data received by the receiver via theclassical communication channel.
 3. The device according to claim 1,wherein the determination unit is configured to acquire a plurality ofpieces of difference data by acquiring piece of the difference datacorresponding to the error rate that coincides with the estimated errorrate, each of the estimated error rates being associated with the siftprocessing data, combine two pieces of the difference data among theplurality of pieces of difference data so that a sum of the two piecesof difference data is close to zero, order the combined difference data,and determine, by using the order of the combined difference data, theorder of the plurality of the sift processing data, in each of which anerror is to be corrected, each of the sift processing data beingassociated with the estimated error rate that coincides with the errorrate corresponding to piece of the difference data.
 4. The deviceaccording to claim 3, wherein the determination unit is configured todetermine the order so that the error is corrected, starting from thesift processing data associated with the estimated error rate thatcoincides with the error rate with a smaller error rate corresponding tothe difference data among the difference data included in the combineddifference data.
 5. The device according to claim 3, wherein thedetermination unit is configured to order the combined difference datain order of the combined difference data with a sum of absolute valuesof two pieces of the difference data closer to zero.
 6. The deviceaccording to claim 1, wherein the error corrector is configured toacquire correction processing time indicating time required for errorcorrecting processing of the sift processing data, the privacy amplifieris configured to acquire privacy amplification processing timeindicating time required for privacy amplification processing of theerror correcting processing data, and the device further comprises anupdate unit configured to update the difference data based on thecorrection processing time and the privacy amplification processingtime.
 7. The device according to claim 6, wherein the second storagefurther stores an estimation error of the estimated error rate, theupdate unit is configured to calculate the estimation error from adifference between the estimated error rate and the error rate measuredby the measurement unit, calculate an average of the estimation errorsusing a plurality of calculated estimation errors, and update theestimation error of the estimated error rate with the average of theestimation errors, and the determination unit is configured to determineorder of the sift processing data in which an error is to be correctedfurther based on the estimation error of the second storage.
 8. Thedevice according to claim 7, wherein, the update unit is configured totransmit, to the determination unit, a stop notification for stoppingprocessing for determining the order of the sift processing data inwhich an error is to be corrected without updating the estimation errorof the estimated error rate with the average of the estimation errors,when the average of the estimation errors is equal to or greater than asecond threshold, and the determination unit is configured to stop, onreceipt of the stop notification, processing for determining the orderof the sift processing data in which an error is to be corrected.
 9. Thedevice according to claim 1, further comprising an adjustment unitconfigured to calculate an average of the estimated error rates or anaverage of the error rates, and adjust a parallel computation number ofthe error corrector or a parallel computation number of the privacyamplifier so that the average of the estimated error rates or theaverage of the error rates coincides with the error rate with thedifference data being 0 when a difference between the calculated averageof the estimated error rates or the average of the error rates and theerror rate with the difference data being zero is equal to or greaterthan a third threshold.
 10. A quantum communication method comprising:receiving a cryptographic key bit represented by one basis among aplurality of bases using a quantum state of a photon via a quantumcommunication channel; acquiring a cryptographic key bit stringincluding a plurality of received cryptographic key bits; acquiring siftprocessing data by referring to the cryptographic key bit string in apredetermined bit string with a reference basis randomly selected fromthe plurality of bases; acquiring an estimated error rate by estimatingan error rate of the sift processing data from an error rate of part ofthe sift processing data; storing, in a first storage, the siftprocessing data and the estimated error rate in association with eachother; storing, in a second storage, difference data indicating adifference between a processing speed of error correcting processing ofthe sift processing data and a processing speed of privacy amplificationprocessing of the sift processing data for each of error rates of aplurality of sift processing data; determining order of the siftprocessing data in which an error is to be corrected based on theestimated error rate and the difference data when a data volume of thesift processing data stored in the first storage is equal to or greaterthan a first threshold; acquiring one piece of the sift processing datafrom among the plurality of pieces of sift processing data from thefirst storage in the order determined at the determining; generatingerror correcting processing data by correcting the acquired siftprocessing data by the error correcting processing; measuring the errorrate of the sift processing data before correction by comparing theerror correcting processing data with the sift processing data beforethe correction corresponding to the error correcting processing data;and generating cryptographic key data based on the error rate measuredby the measurement unit by applying the privacy amplification processingto the error correcting processing data.
 11. A computer program productcomprising a computer-readable medium containing a program, the programcausing a computer to execute: receiving a cryptographic key bitrepresented by one basis among a plurality of bases using a quantumstate of a photon via a quantum communication channel; acquiring acryptographic key bit string including a plurality of receivedcryptographic key bits; acquiring sift processing data by referring tothe cryptographic key bit string in a predetermined bit string with areference basis randomly selected from the plurality of bases; acquiringan estimated error rate by estimating an error rate of the siftprocessing data from an error rate of part of the sift processing data;storing, in a first storage, the sift processing data and the estimatederror rate in association with each other; storing, in a second storage,difference data indicating a difference between a processing speed oferror correcting processing of the sift processing data and a processingspeed of privacy amplification processing of the sift processing datafor each of error rates of a plurality of sift processing data;determining order of the sift processing data in which an error is to becorrected based on the estimated error rate and the difference data whena data volume of the sift processing data stored in the first storage isequal to or greater than a first threshold; acquiring one piece of thesift processing data from among the plurality of pieces of siftprocessing data from the first storage in the order determined at thedetermining; generating error correcting processing data by correctingthe acquired sift processing data by the error correcting processing;measuring the error rate of the sift processing data before correctionby comparing the error correcting processing data with the siftprocessing data before the correction corresponding to the errorcorrecting processing data; and generating cryptographic key data basedon the error rate measured by the measurement unit by applying theprivacy amplification processing to the error correcting processingdata.